package com.ohos.connent.accountcloud.biz.modular.dp.entity;

import com.ohos.connent.accountcloud.biz.modular.dp.handler.JsonToCardListTypeHandler;
import com.ohos.connent.accountcloud.common.handler.CommonSm4CbcTypeHandler;
import com.ohos.connent.accountcloud.common.pojo.CommonEntity;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * 企业详情实体类
 * @Author: ChenJiaHao
 * @Date: 2024/6/12 10:59
 * @Description:
 */
@Getter
@Setter
@NoArgsConstructor
@Accessors(chain = true)
@TableName(value = "DP_ENTERPRISE_INFO", autoResultMap = true)
public class DpEnterpriseInfo extends CommonEntity {

    @TableId
    @ApiModelProperty(value = "id", position = 1)
    private String id;

    @ApiModelProperty(value = "企业全称", position = 2)
    private String enterpriseName;

    @ApiModelProperty(value = "英文全称", position = 3)
    private String enterpriseNameEn;

    @ApiModelProperty(value = "企业地址", position = 4)
    private String address;

    @ApiModelProperty(value = "证件号码", position = 5)
    private String businessLicenseNo;

    @ApiModelProperty(value = "企业证件文件ID列表", position = 6)
    @TableField(typeHandler = JsonToCardListTypeHandler.class)
    private List<Card> businessLicenseCard;

    @ApiModelProperty(value = "法人证件文件ID列表", position = 7)
    @TableField(typeHandler = JsonToCardListTypeHandler.class)
    private List<Card> legalPersonCard;

    @ApiModelProperty(value = "联系人姓名", position = 8)
    private String contactName;

    @ApiModelProperty(value = "身份证号码", position = 9)
    @TableField(value = "CONTACT_ID_CARD_NO", typeHandler = CommonSm4CbcTypeHandler.class)
    private String contactIDCardNo;

    @ApiModelProperty(value = "手机号", position = 10)
    @TableField(typeHandler = CommonSm4CbcTypeHandler.class)
    private String contactPhone;

    @ApiModelProperty(value = "邮箱", position = 11)
    private String contactEmail;

    @ApiModelProperty(value = "审核状态：0-待审核；1-已认证；2-已驳回；3-冻结", position = 12)
    private Integer status;

    @ApiModelProperty(value = "驳回原因", position = 13)
    private String reason;

    @ApiModelProperty(value = "驳回备注", position = 14)
    private String remark;

    @ApiModelProperty(value = "认证通过时间", position = 15)
    private Date certifiedTime;


}
